package com.cy.mall.comm.utils;

import lombok.extern.slf4j.Slf4j;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description 企业报表的项目key与名称的映射关系
 * @Author tanyilin
 * @Date 2019/7/12 16:01
 */
@Slf4j
public class EnterReportConstant {

    /**
     * 通过报表的项目key拿到项目的名称
     * @param key
     * @return java.lang.String
     */
    public static String getMc(String key) {

        String mc = reportKeyMc.getOrDefault(key, "");
        if (CommonUtils.isEmpty(mc)) {
            log.info("[{}], 没有值", key);
        }
        return mc;
    }

    private static final Map<String, String> reportKeyMc = new HashMap<String, String>() {
        {
            put("B1", "货币资金");
            put("B2", "短期投资");
            put("B3", "应收票据");
            put("B4", "应收账款");
            put("B5", "预付账款");
            put("B7", "应收股利");
            put("B6", "应收利息");
            put("B8", "其他应收款");
            put("B9", "存货");
            put("QZYCL", "其中,原材料");
            put("ZCP", "在产品");
            put("KCSP", "库存商品");
            put("ZZCL", "周转材料");
            put("B11", "其他流动资产");
            put("B12", "流动资产合计");
            put("CQZJTZ", "长期债券投资");
            put("B16", "长期股权投资");
            put("yuanjia", "固定资产原价");
            put("zhejiu", "减：累计折旧");
            put("B18", "固定资产账面价值");
            put("B19", "在建工程");
            put("B20", "工程物资");
            put("B21", "固定资产清理");
            put("B22", "生产性生物资产");
            put("B24", "无形资产");
            put("B25", "开发支出");
            put("B27", "长期待摊费用");
            put("B29", "其他非流动资产");
            put("B30", "非流动资产合计");
            put("B31", "资产合计");
            put("B32", "短期借款");
            put("B34", "应付票据");
            put("B35", "应付账款");
            put("B36", "预收账款");
            put("B37", "应付职工薪酬");
            put("B38", "应交税费");
            put("B39", "应付利息");
            put("B40", "应付利润");
            put("B41", "其他应付款");
            put("B43", "其他流动负债");
            put("B44", "流动负债合计");
            put("B45", "长期借款");
            put("B47", "长期应付款");
            put("B61", "递延收益");
            put("B51", "其他非流动负债");
            put("B52", "非流动负债合计");
            put("B53", "负债合计");
            put("B54", "实收资本（或股本）");
            put("B55", "资本公积");
            put("B57", "盈余公积");
            put("B58", "未分配利润");
            put("B59", "所有者权益（或股东权益）合计");
            put("B60", "负债和所有者权益（或股东权益）总计");
            put("YSBTK", "应收补贴款");
            put("DTFY", "待摊费用");
            put("CQZQTZ", "长期债权投资");
            put("CQTZHJ", "长期投资合计");
            put("GDZCJZ", "固定资产净值");
            put("JZZB", "减：固定资产减值准备");
            put("GDZCJE", "固定资产净额");
            put("GDZCHJ", "固定资产");
            put("QTCQZC", "其他长期资产");
            put("WXQTZCHJ", "无形资产及其他资产合计");
            put("DYSKJX", "递延税款借项");
            put("YFFLF", "应付福利费");
            put("YFGL", "应付股利");
            put("YFSJ", "应交税金");
            put("QTYJK", "其他应交款");
            put("YTFY", "预提费用");
            put("YJFZ", "预计负债");
            put("YNCQFZ", "一年内到期的长期负债");
            put("YFZQ", "应付债券");
            put("ZXYFK", "专项应付款");
            put("QTCQFZ", "其他长期负债");
            put("CQFZHJ", "长期负债合计");
            put("DYSKDX", "递延税款贷项");
            put("YGHTZ", "减：已归还投资");
            put("SSZBJE", "实收资本（或股本）净额");
            put("FDGYJ", "其中：法定公益金");
            put("SYJRZC", "以公允价值计量且其变动计入当期损益的金融资产");
            put("YNFLDZC", "一年内到期的非流动资产");
            put("KGCSJRZC", "可供出售金融资产");
            put("CYDQTZ", "持有至到期投资");
            put("CQYSK", "长期应收款");
            put("TZXFDC", "投资性房地产");
            put("YQZC", "油气资产");
            put("SY", "商誉");
            put("DYSDSZC", "递延所得税资产");
            put("SYJRFZ", "以公允价值计量且其变动计入当期损益的金融负债");
            put("YNFLDFZ", "一年内到期的非流动负债");
            put("DYSDSFZ", "递延所得税负债");
            put("JKCG", "减：库存股");
            put("QTZHSY", "其他综合收益");
            put("A1", "一、营业收入");
            put("A2", "减,营业成本");
            put("A3", "营业税金及附加");
            put("QZXFS", "其中,消费税");
            put("YYS", "营业税");
            put("CSWHJSS", "城市维护建设税");
            put("ZYS", "资源税");
            put("TDZZS", "土地增值税");
            put("CZTDSYS", "城镇土地使用税、房产税、车船税、印花税");
            put("JYFFJ", "教育费附加、矿产资源补偿费、排污费");
            put("A4", "销售费用");
            put("SPWXF", "其中,商品维修费");
            put("GGFHYWXCF", "广告费和业务宣传费");
            put("A5", "管理费用");
            put("KBF", "其中,开办费");
            put("YWZDF", "业务招待费");
            put("YJF", "研究费用");
            put("A6", "财务费用");
            put("LXFY", "其中,利息费用");
            put("A9", "加,投资收益");
            put("A11", "二、营业利润");
            put("A12", "加,营业外收入");
            put("ZFBZ", "其中,政府补助");
            put("A13", "减,营业外支出");
            put("HZSS", "其中,坏账损失");
            put("WFHSDCQZJTZSS", "无法收回的长期债券投资损失");
            put("WFHHDCQGQTZSS", "无法收回的长期股权投资损失");
            put("ZRZHDBKKLYSSS", "自然灾害等不可抗力因素造成的损失");
            put("SSZNJ", "税收滞纳金");
            put("A15", "三、利润总额");
            put("A16", "减,所得税费用");
            put("A17", "四、净利润");
            put("ZYSR", "一、主营业务收入");
            put("ZYCB", "减：主营业务成本");
            put("ZYSJ", "主营业务税金及附加");
            put("ZYLR", "二、主营业务利润");
            put("QTLR", "加：其他业务利润");
            put("YYFY", "减：营业费用");
            put("BTSR", "补贴收入");
            put("CZTZSY", "1．出售、处置部门或被投资单位所得收益");
            put("ZRZHSS", "2．自然灾害发生的损失");
            put("ZCBGLR", "3．会计政策变更增加（或减少）利润总额");
            put("GJBGLR", "4．会计估计变更增加（或减少）利润总额");
            put("ZWCZSS", "5．债务重组损失");
            put("QT", "6．其他");
            put("ZCJZSS", "资产减值损失");
            put("GYJZBDSY", "加：公允价值变动收益");
            put("LYTZSY", "其中：对联营企业和合营企业的投资收益");
            put("FLDZCCZLD", "其中：非流动资产处置利得");
            put("FLDZCCZSS", "其中：非流动资产处置损失");
            put("QTZHSYDSHJE", "五、其他综合收益的税后净额");
            put("ZHSYZE", "六、综合收益总额");
            put("MGSY", "七、每股收益：");
            put("JBMGSY", "（一）基本每股收益");
            put("XSMGSY", "（二）稀释每股收益");
        }
    };
}
